/*
	klib_system_timers.h

	provides function headers for system timer registration

	Author: Aidan Goddard 21/10/13
*/
#ifndef SYSTEM_TIMERS_H_INCLUDED
#define SYSTEM_TIMERS_H_INCLUDED

#include"../../kernel/headers/types.h"
#include"../../kernel/headers/kernel_tables.h"

uint32_t __KLIB__RegisterSchedulerTimer(void(*pause_timer)(void), void(*start_timer)(void));
uint32_t __KLIB__PauseSchedulerTimer();
uint32_t __KLIB__StartSchedulerTimer();
uint32_t __KLIB__UnregisterSchedulerTimer();

#define SCHEDULER_TIMER_SUCCESS				0
#define SCHEDULER_TIMER_ALREADY_REGISTERED	0xffffffff
#define SCHEDULER_TIMER_NONE_REGISTERED		0xfffffffe
#define SCHEDULER_TIMER_INVALID_PTR			0xfffffffd

#endif
